package com.dbxt.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.dbxt.entity.ClerkRecord;
import com.dbxt.entity.Files;
import com.dbxt.entity.Record;
import com.dbxt.entity.RecordTeacher;
import com.dbxt.entity.Student;

public interface StudentMapper {
    int deleteByPrimaryKey(Integer sid);

    int insert(Student record);

    int insertSelective(Student record);

    Student selectByPrimaryKey(Integer sid);

    int updateByPrimaryKeySelective(Student record);

    int updateByPrimaryKey(Student record);
    
    public void upload(Files files);//上传文件持久化
    
    public void deleteFile(String filename);//删除文件
    
    public List<Files> getFiles(Integer sid);//获取用户的文件列表
    
    public void askforRecord (@Param("sid")Integer sid,@Param("grouping")String group);//申请后新增答辩字段（仅状态和rid）
	
	public void cancelApply (Integer sid);//取消申请成功后删除答辩字段（仅状态和rid）
	
	public Record  getRecordBySid(Integer sid);//根据sid查询答辩记录
	
	public Student checkResult(Integer sid);//学生查看自己答辩成绩
	
	public Files getFile(String fileName);//根据文件名查询文件实体类
	
	public List<Record> getGroupA(Integer tid);//查看是A组人的信息
	
	public List<Record> getGroupB(Integer tid);//查看是B组人的信息
	
	public List<RecordTeacher> checkEvaluate(Integer sid);//根据sid查询对应的老师答辩打分实体类
	
	public void uploadPicture(@Param("sid")Integer sid,@Param("pictureName")String pictureName);//学生上传头像
	
	public List<RecordTeacher> getRecordTeacherByRid(Integer rid);
	
	public List<ClerkRecord> getClerkRecordByRid(Integer rid);//根据rid进行查询ClerkRecord实体类
	
	public List<Record> seeDefenceABOfA();//书记员特供AB之A
	
	public List<Record> seeDefenceABOfB();//书记员特供AB之B
	
	public String flushPicture(Integer sid);//刷新学生图片信息
	
	public List<Record> selectOnlyGroupA();//当前老师未打分查询自己组的所有人信息
	
	public List<Record> selectOnlyGroupB();//当前老师未打分查询自己组的所有人信息
	
	public void make(Integer rid);//将数据插入其他关联表
	
	public void make2(Integer rid);//将数据插入其他关联表
	
	public void delete2(Integer rid);
	
	public void delete3(Integer rid);
	
	public void deleteFileByFileName(List<String> list);
	
	public List<Student> tset();
}